
import {ConfigDataComponents} from './ConfigDataComponents'
import {ConfigDataCompIds} from "./ConfigDataComponentsIds";
import * as Ecs from "../../3rd/entitas"
import {ConfigDataEntity} from "./ConfigDataEntity";
import {ConfigDataMatcher} from "./ConfigDataMatcher";

export class ConfigDataContext extends Ecs.Pool
{

    protected _newEntity(): ConfigDataEntity {
        return new ConfigDataEntity(this._componentsEnum, this._totalComponents)
    }

    public createEntity(name: string): ConfigDataEntity {
        return super.createEntity(name) as ConfigDataEntity;
    }
}

declare interface IConfigDataContext extends ConfigDataContext{ new() }
// @ts-ignore
export var ConfigDataContextInterface: IConfigDataContext = ConfigDataContext;